// 生成不确定的数字，感觉更 AI 一些，绝大多数数值在 10-40 之间
const generateWeightedRandomNumber = () => {
  const random = Math.random();
  // 70% 概率直接返回 0
  if (random < 0.7) return 0;
  // 25% 概率生成 10-40 的数字
  if (random < 0.85) return Math.floor(Math.random() * 21) + 10;
  // 10% 概率生成 50-70 的数字
  if (random < 0.95) return Math.floor(Math.random() * 31) + 40;
  // 5% 概率生成 71-100 的数字（剩余范围）
  return Math.floor(Math.random() * 30) + 71;
};


function generateRandomSplitNumber() {
  const random = Math.random();

  if (random < 0.6) {
    // 60% 概率生成 2~5 之间的整数
    return Math.floor(Math.random() * 4) + 2;
  } else if (random < 0.9) {
    // 30% 概率生成 6
    return 6;
  } else {
    // 10% 概率生成 8
    return 8;
  }
}

function randomSplitString(str) {
  const numParts = generateRandomSplitNumber();
  const result = [];
  let remaining = str;

  for (let i = 0; i < numParts - 1; i++) {
    const splitIndex = Math.floor(Math.random() * (remaining.length - (numParts - i - 1))) + 1;
    result.push(remaining.slice(0, splitIndex));
    remaining = remaining.slice(splitIndex);
  }

  result.push(remaining);
  return result;
}

export { generateWeightedRandomNumber, randomSplitString };
export default generateWeightedRandomNumber;
